1. Field of the Invention
The present invention generally relates to verifying correct data entry to an electronic apparatus, and particularly, to alerting an operator of incorrect data entry.
2. Description of the Related Art
Widespread use of electronic data processing devices such as personal computers, personal digital assistant devices and similar apparatus, with data entry devices such as keyboards, inevitably involves more and more confidential personal data being entered, and subsequently being transmitted with unknown consequences. In particular, such data is typically entered by an operator where incorrect entry frequently occurs. Mis-entered data can have tragic consequences since misidentified personal confidential data (e.g., credit reports, prior criminal records, etc.) are subsequently associated with that person. For example, a mis-entered U.S. social security number of a person during some transaction can harm that person""s reputation, prospective job opportunities or business concerns since it is a key identifier of a person in the U.S. today.
Related prior art that deals with mis-entered data, e.g. FAX telephone numbers, include U.S. Pat. No. 6,101,245 that discloses a dial verifier for facsimile (FAX) transmissions, which attempts to minimize mis-dialed FAX numbers from occurring, by dialing pre-compiled control keys that are added to telephone numbers, which is hereby incorporated by reference. The control keys are compared against computed control keys and transmission is allowed or denied according to a match between the dialed and computed control keys. However, this method has limiting aspects since the number of control keys has to be a prime number, which in the case of telephone digits requires the introduction of foraneous symbols (i.e., symbols such as xe2x80x9c#xe2x80x9d, xe2x80x9c$xe2x80x9d or xe2x80x9c*xe2x80x9d etc.) for the number xe2x80x9c10.xe2x80x9d To use this method for a fixed series of characters, foraneous symbols must be added to reach the required next prime number (e.g., for the 16 hexadecimal numbers a foraneous symbol must be added to achieve the next prime number 17). Problems associated with this method include inherent complexity and limited utility since modification of existing data bases must be implemented when using these foraneous symbols as control keys to encode a series of characters, e.g., a FAX number. Use in other applications, such as large databases that relate critical numbers such as a social security number or a credit card number cannot readily be adapted to this patented method since it requires deviation from traditional methods of assigning only pure numbers for these special number designators. With the improved methods of the present invention using an encoding algorithm based on integer rings, or on prime power fields of numbers as presented below, either there is no need to use foraneous symbols, or the number of foraneous symbols may be greatly reduced.
In particular, the U.S. Pat. No. 6,101,245 applies a method to phone number integers using modulo 11 arithmetic to determine the control key codes. Since 11 is a prime number, the vector of weights as used therein has only to satisfy the condition that all the digits are different until they are repeated. In particular, adjacent digits have to be different so as to detect permutations of adjacent digits. Also, since the integers modulo 11 constitute a field, there are no zero divisors and any typing error in one digit is detected. Thus, the detection capability of the patented method can detect many permutation errors and any mistyped digit, but has the disadvantage of requiring a foraneous symbol. Telephone companies, credit card companies or governmental agencies may be reluctant to introduce foraneous symbols in the management of large databases that traditionally involve only numbers.
The advantages of using the prime power number encoding algorithm of one of the preferred embodiments of the present invention compared to the U.S. Pat. No. 6,101,245 can be illustrated by reviewing the example given at column 11, lines 39-53 of the ""245 patent that is applied to numeric as well as case-sensitive letters totaling 62 in number of symbols. The next prime number larger than 62 is 67. This requires the addition of 5 foraneous symbols that are used by this method. On the other hand, by using one of the preferred embodiments to be described next, the next power of a prime is 64, which requires only two foraneous symbols, thereby requiring fewer such symbols for an improved an more efficient encoding method.
Mis-entered data often involves errors in numerical data typed on a data entry keyboard. Those erroneously entered numbers may be credit card or social security numbers that are often linked to critical data. The most common typing errors when entering such numbers include transposition of two adjacent numbers (for example, 25 is typed as 52); and a number is typed in error as one of two possible adjacent numbers (e.g., 4 or 2 are typed instead of 3). If such common errors are not instantly detected, a lot of time may be wasted trying to correct them later and sometimes the error may have tragic consequences. For instance, when entering a social security number, if the operator makes a typing error and assigns a number corresponding to another user when handling a request, correcting the situation at a later time is both a waste of time and resources and may not be possible due to consequences beyond one""s control after critical information has been transmitted.
Therefore, there is a need in data entry arts typically associated with keyboard data entry so that most common typing errors are immediately detected for appropriate correction during data entry.
It is, therefore, an object of the present invention to provide a method and systems for use of this method giving mechanisms for detecting at least the two common typing errors described above by adding one or more redundant parity characters (digits).
The method of the invention uses at least one redundant parity digit, and performs arithmetic modulo an integer in order to obtain said redundant parity digits without adding foraneous symbols. In a second embodiment of the invention the number of foraneous symbols is minimized by using an encoding algorithm based on finite field arithmetic over a field whose number of elements is a prime power. Both embodiments verify the correctness of the redundant symbols and in case of a mismatch a mechanism is used for warning of errors. Another embodiment has more powerful error detection capabilities, but can use foraneous symbols that are limited in number.
Specifically, the preferred method of using the invention is for detection of a permutation of adjacent characters (digits) or mis-typing of adjacent characters (digits) on the keyboard. The method can be extended to other typographical characters as well and limited only to numbers. With the pervasiveness of e-commerce, where important short vectors of crucial information need to be constantly typed, the method has numerous applications. The invention enhances error detection by adding an arbitrary number of parity characters (digits), wherein most errors can be detected. Moreover, the invention can be applied to situations where numbers are entered using a keypad instead of a keyboard where frequent critical numbers are entered.